Low level Configuration in ASP.NET Core
ASP.NET Core में Low-Level Configuration
ASP.NET Core के अंतर्गत लॉगिंग, डेटाबेस और सर्वर के अतिरिक्त और कई प्रकार के लो लेवल पर कॉन्फ़िगरेशन एप्लीकेशन में होता है जैसे -
- Authentication & Authorization
- CORS (Cross-Origin Resource Sharing)
- Rate Limiting / Throttling
- Custom Application Settings
- Caching (Memory, Redis, etc)
- Health Checks
- HTTP Client Factory / Resilience Policies
- gRPC / SignalR / WebSockets Settings
- File Providers / Static Files
- Forwarded Headers / Proxies
यदि आप ASP.NET Core में configuration infrastructure को गहराई से समझना चाहते हैं, और आप यह जानना चाहते हैं कि Logging, Database और Server के अतिरिक्त और किन-किन पहलुओं की low-level configuration की जाती है तो यह लेख अंत तक अवश्य पढ़ें।
आइए अब इसी संदर्भ में एक व्यवस्थित सूची प्रस्तुत करते हैं — जिससे यह समझा जा सके कि एप्लिकेशन स्तर पर और किन क्षेत्रों में कॉन्फ़िगरेशन सिस्टम (यानी Configuration Sources, Providers, और IConfiguration Data) का प्रयोग होता है।
ASP.NET Core में Low-Level पर Configurable अन्य प्रमुख घटक
1. Authentication & Authorization
कॉन्फ़िगरेशन के उदाहरण:
- Authentication schemes (Cookies, JWT, OpenID Connect)
- Token validation parameters
- Roles और Policies की परिभाषा
🔹 appsettings.json उदाहरण:
{
"Jwt": {
"Authority": "https://login.example.com",
"Audience": "myapi"
}
}
कोड में उपयोग:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAuthentication("Bearer").AddJwtBearer(
options =>
{
options.Authority = builder.Configuration["Jwt:Authority"];
options.Audience = builder.Configuration["Jwt:Audience"];
});
2. CORS (Cross-Origin Resource Sharing)
कॉन्फ़िगरेशन:
- किन origins से request की अनुमति है?
- किन headers और methods की अनुमति है?
{
"Cors": {
"AllowedOrigins": [ "https://example.com" ]
}
}
3. Rate Limiting / Throttling
कॉन्फ़िगरेशन (middleware या custom filters में):
- Max requests per time window
- Policy definitions
{
"RateLimiting":
{
"RequestsPerMinute": 60
}
}
4. Custom Application Settings
आपके खुद के app-specific configurations: जैसे कि SMTP, Payment gateway keys, Retry policies आदि।
{
"SmtpSettings": {
"Host": "smtp.example.com",
"Port": 587,
"Username": "admin@example.com"
}
}
कोड में उपयोग:
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<SmtpSettings>(builder.Configuration.GetSection("SmtpSettings"));
5. Caching (Memory, Redis, etc.)
कॉन्फ़िगरेशन:
- Expiration policy
- Redis endpoint
- Cache size limits
{
"CacheSettings": {
"AbsoluteExpirationMinutes": 30,
"RedisConnection": "localhost:6379"
}
}
6. Health Checks
कॉन्फ़िगरेशन:
- कौन-से endpoints चेक करने हैं?
- Thresholds और tags
{
"HealthChecksUI": {
"HealthChecks": [
{
"Name": "SQL Server",
"Uri": "http://localhost/health/sql"
}
]
}
}
7. HTTP Client Factory / Resilience Policies
कॉन्फ़िगरेशन:
- Timeout
- Retry count
- Circuit breaker thresholds
{
"HttpClientPolicies": {
"RetryCount": 3,
"TimeoutSeconds": 10
}
}
8. gRPC / SignalR / WebSockets Settings
कॉन्फ़िगरेशन:
- KeepAliveInterval
- MaxMessageSize
- Transport mode (WebSockets/LongPolling)
9. File Providers / Static Files
कॉन्फ़िगरेशन:
- Root path
- Caching options for static files
10. Forwarded Headers / Proxies
Load balancers के पीछे चल रही applications के लिए।
{
"ForwardedHeaders":
{
"KnownProxies": [ "10.0.0.100" ]
}
}
टिप्पणियाँ
एक टिप्पणी भेजें